package org.haifi.game.model;

/**
 * 玩家与角色npc共同的属性放在这里，怪物
 * 
 * 比例:x,y,hp,mp等
 * 
 * @author joycube2
 * 
 */
public abstract class Role {

	// /**
	// * 正数是玩家,负数是npc怪物等
	// *
	// * 能不能分开处理呢,用两个属性来标志,id是游戏中生成的id,另一个id是实际的id
	// */
	// private int id;
	private int x, y;

	private int hp;
	private int mp;

	private int maxHp;
	private int maxMp;

	/**
	 * 当前所在的地图
	 */
	private MapInstance mapInstance;

	/**
	 * 人物类型(玩家/怪物)
	 */
	private RoleType roleType;

	public abstract int getId();

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}

	public int getHp() {
		return hp;
	}

	public void setHp(int hp) {
		this.hp = hp;
	}

	public int getMp() {
		return mp;
	}

	public void setMp(int mp) {
		this.mp = mp;
	}

	public int getMaxHp() {
		return maxHp;
	}

	public void setMaxHp(int maxHp) {
		this.maxHp = maxHp;
	}

	public int getMaxMp() {
		return maxMp;
	}

	public void setMaxMp(int maxMp) {
		this.maxMp = maxMp;
	}

	public MapInstance getMapInstance() {
		return mapInstance;
	}

	public void setMapInstance(MapInstance mapInstance) {
		this.mapInstance = mapInstance;
	}
}
